const n=Object.freeze({displayName:"Gnuplot",fileTypes:["gp","plt","plot","gnuplot"],name:"gnuplot",patterns:[{match:"(\\\\(?!\\n).*)",name:"invalid.illegal.backslash.gnuplot"},{match:"(;)",name:"punctuation.separator.statement.gnuplot"},{include:"#LineComment"},{include:"#DataBlock"},{include:"#MacroExpansion"},{include:"#VariableDecl"},{include:"#ArrayDecl"},{include:"#FunctionDecl"},{include:"#ShellCommand"},{include:"#Command"}],repository:{ArrayDecl:{begin:`\\b(?x:
(array)\\s+
([A-Za-z_]\\w*)?


)`,beginCaptures:{1:{name:"support.type.array.gnuplot"},2:{name:"entity.name.variable.gnuplot",patterns:[{include:"#InvalidVariableDecl"},{include:"#BuiltinVariable"}]}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",name:"meta.variable.gnuplot",patterns:[{include:"#Expression"}]},BuiltinFunction:{patterns:[{match:`\\b(?x:
defined
)\\b`,name:"invalid.deprecated.function.gnuplot"},{match:`\\b(?x:
abs            |
acos           |
acosh          |
airy           |
arg            |
asin           |
asinh          |
atan           |
atan2          |
atanh          |
EllipticK      |
EllipticE      |
EllipticPi     |
besj0          |
besj1          |
besy0          |
besy1          |
ceil           |
cos            |
cosh           |
erf            |
erfc           |
exp            |
expint         |
floor          |
gamma          |
ibeta          |
inverf         |
igamma         |
imag           |
invnorm        |
int            |
lambertw       |
lgamma         |
log            |
log10          |
norm           |
rand           |
real           |
sgn            |
sin            |
sinh           |
sqrt           |
tan            |
tanh           |
voigt          |
cerf           |
cdawson        |
faddeeva       |
erfi           |
VP
)\\b`,name:"support.function.math.gnuplot"},{match:`\\b(?x:
gprintf        |
sprintf        |
strlen         |
strstrt        |
substr         |
strftime       |
strptime       |
system         |
word           |
words
)\\b`,name:"support.function.string.gnuplot"},{match:`\\b(?x:
column         |
columnhead     |
exists         |
hsv2rgb        |
stringcolumn   |
timecolumn     |
tm_hour        |
tm_mday        |
tm_min         |
tm_mon         |
tm_sec         |
tm_wday        |
tm_yday        |
tm_year        |
time           |
valid          |
value
)\\b`,name:"support.function.other.gnuplot"}]},BuiltinOperator:{patterns:[{match:"(&&|\\|\\|)",name:"keyword.operator.logical.gnuplot"},{match:"(<<|>>|&|\\||\\^)",name:"keyword.operator.bitwise.gnuplot"},{match:"(==|!=|<=|<|>=|>)",name:"keyword.operator.comparison.gnuplot"},{match:"(=)",name:"keyword.operator.assignment.gnuplot"},{match:"(\\+|-|~|!)",name:"keyword.operator.arithmetic.gnuplot"},{match:"(\\*\\*|\\+|-|\\*|/|%)",name:"keyword.operator.arithmetic.gnuplot"},{captures:{2:{name:"keyword.operator.word.gnuplot"}},match:"(\\.|\\b(eq|ne)\\b)",name:"keyword.operator.strings.gnuplot"}]},BuiltinVariable:{patterns:[{match:`\\b(?x:
FIT_LIMIT           |
FIT_MAXITER         |
FIT_START_LAMBDA    |
FIT_LAMBDA_FACTOR   |
FIT_SKIP            |
FIT_INDEX
)\\b`,name:"invalid.deprecated.variable.gnuplot"},{match:"\\b(GPVAL_\\w*|MOUSE_\\w*)\\b",name:"support.constant.gnuplot"},{match:"\\b(ARG[0-9C]|GPFUN_\\w*|FIT_\\w*|STATS_\\w*|pi|NaN)\\b",name:"support.variable.gnuplot"}]},ColumnIndexLiteral:{match:"([$][0-9]+)\\b",name:"support.constant.columnindex.gnuplot"},Command:{patterns:[{begin:`\\b(?x:
update
)\\b`,end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",name:"invalid.deprecated.command.gnuplot"},{begin:`\\b(?x:
break        |
clear        |
continue     |
pwd          |
refresh      |
replot       |
reread       |
shell
)\\b`,beginCaptures:{0:{name:"keyword.other.command.gnuplot"}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{include:"#InvalidWord"}]},{begin:`\\b(?x:
cd           |
call         |
eval         |
exit         |
help         |
history      |
load         |
lower        |
pause        |
print        |
printerr     |
quit         |
raise        |
save         |
stats        |
system       |
test         |
toggle
)\\b`,beginCaptures:{0:{name:"keyword.other.command.gnuplot"}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{include:"#Expression"}]},{begin:"\\b(import)\\s(.+)\\s(from)",beginCaptures:{1:{name:"keyword.control.import.gnuplot"},2:{patterns:[{include:"#FunctionDecl"}]},3:{name:"keyword.control.import.gnuplot"}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{include:"#SingleQuotedStringLiteral"},{include:"#DoubleQuotedStringLiteral"},{include:"#InvalidWord"}]},{begin:"\\b(reset)\\b",beginCaptures:{1:{name:"keyword.other.command.gnuplot"}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{match:"\\b(bind|error(state)?|session)\\b",name:"support.class.reset.gnuplot"},{include:"#InvalidWord"}]},{begin:"\\b(undefine)\\b",beginCaptures:{1:{name:"keyword.other.command.gnuplot"}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{include:"#BuiltinVariable"},{include:"#BuiltinFunction"},{match:"(?<=\\s)([$]?[A-Za-z_]\\w*\\*?)(?=\\s)",name:"source.gnuplot"},{include:"#InvalidWord"}]},{begin:"\\b(if|while)\\b",beginCaptures:{1:{name:"keyword.control.conditional.gnuplot"}},end:"(?=(\\{|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{include:"#Expression"}]},{begin:"\\b(else)\\b",beginCaptures:{1:{name:"keyword.control.conditional.gnuplot"}},end:"(?=(\\{|#|\\\\(?!\\n)|(?<!\\\\)\\n$))"},{begin:"\\b(do)\\b",beginCaptures:{1:{name:"keyword.control.flow.gnuplot"}},end:"(?=(\\{|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{include:"#ForIterationExpr"}]},{begin:"\\b(set)(?=\\s+pm3d)\\b",beginCaptures:{1:{name:"keyword.other.command.gnuplot"}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{match:"\\b(hidden3d|map|transparent|solid)\\b",name:"invalid.deprecated.options.gnuplot"},{include:"#SetUnsetOptions"},{include:"#ForIterationExpr"},{include:"#Expression"}]},{begin:"\\b((un)?set)\\b",beginCaptures:{1:{name:"keyword.other.command.gnuplot"}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{include:"#SetUnsetOptions"},{include:"#ForIterationExpr"},{include:"#Expression"}]},{begin:"\\b(show)\\b",beginCaptures:{1:{name:"keyword.other.command.gnuplot"}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{include:"#ExtraShowOptions"},{include:"#SetUnsetOptions"},{include:"#Expression"}]},{begin:"\\b(fit|(s)?plot)\\b",beginCaptures:{1:{name:"keyword.other.command.gnuplot"}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{include:"#ColumnIndexLiteral"},{include:"#PlotModifiers"},{include:"#ForIterationExpr"},{include:"#Expression"}]}]},DataBlock:{begin:`(?x:
([$][A-Za-z_]\\w*)\\s*
(<<)\\s*
([A-Za-z_]\\w*)\\s*
(?=(\\#|$))
)`,beginCaptures:{1:{patterns:[{include:"#SpecialVariable"}]},3:{name:"constant.language.datablock.gnuplot"}},end:"^(\\3)\\b(.*)",endCaptures:{1:{name:"constant.language.datablock.gnuplot"},2:{name:"invalid.illegal.datablock.gnuplot"}},name:"meta.datablock.gnuplot",patterns:[{include:"#LineComment"},{include:"#NumberLiteral"},{include:"#DoubleQuotedStringLiteral"}]},DeprecatedScriptArgsLiteral:{match:"([$][0-9#])",name:"invalid.illegal.scriptargs.gnuplot"},DoubleQuotedStringLiteral:{begin:'(")',beginCaptures:{1:{name:"punctuation.definition.string.begin.gnuplot"}},end:'((")|(?=(?<!\\\\)\\n$))',endCaptures:{0:{name:"punctuation.definition.string.end.gnuplot"}},name:"string.quoted.double.gnuplot",patterns:[{include:"#EscapedChar"},{include:"#RGBColorSpec"},{include:"#DeprecatedScriptArgsLiteral"},{include:"#InterpolatedStringLiteral"}]},EscapedChar:{match:"(\\\\.)",name:"constant.character.escape.gnuplot"},Expression:{patterns:[{include:"#Literal"},{include:"#SpecialVariable"},{include:"#BuiltinVariable"},{include:"#BuiltinOperator"},{include:"#TernaryExpr"},{include:"#FunctionCallExpr"},{include:"#SummationExpr"}]},ExtraShowOptions:{match:`\\b(?x:
all                         |
bind                        |
colornames                  |
functions                   |
plot                        |
variables                   |
version
)\\b`,name:"support.class.options.gnuplot"},ForIterationExpr:{begin:`\\b(?x:
(for)\\s*
(\\[)\\s*
(?:
([A-Za-z_]\\w*)\\s+
(in)\\b
)?
)`,beginCaptures:{1:{name:"keyword.control.flow.gnuplot"},2:{patterns:[{include:"#RangeSeparators"}]},3:{name:"variable.other.iterator.gnuplot"},4:{name:"keyword.control.flow.gnuplot"}},end:"((\\])|(?=(#|\\\\(?!\\n)|(?<!\\\\)\\n$)))",endCaptures:{2:{patterns:[{include:"#RangeSeparators"}]}},patterns:[{include:"#Expression"},{include:"#RangeSeparators"}]},FunctionCallExpr:{begin:"\\b([A-Za-z_]\\w*)\\s*(\\()",beginCaptures:{1:{name:"variable.function.gnuplot",patterns:[{include:"#BuiltinFunction"}]},2:{name:"punctuation.definition.arguments.begin.gnuplot"}},end:"((\\))|(?=(#|\\\\(?!\\n)|(?<!\\\\)\\n$)))",endCaptures:{2:{name:"punctuation.definition.arguments.end.gnuplot"}},name:"meta.function-call.gnuplot",patterns:[{include:"#Expression"}]},FunctionDecl:{begin:`\\b(?x:
([A-Za-z_]\\w*)\\s*
(
(\\()\\s*
([A-Za-z_]\\w*)\\s*
(?:
(,)\\s*
([A-Za-z_]\\w*)\\s*
)*
(\\))
)
)`,beginCaptures:{1:{name:"entity.name.function.gnuplot",patterns:[{include:"#BuiltinFunction"}]},2:{name:"meta.function.parameters.gnuplot"},3:{name:"punctuation.definition.parameters.begin.gnuplot"},4:{name:"variable.parameter.function.language.gnuplot"},5:{name:"punctuation.separator.parameters.gnuplot"},6:{name:"variable.parameter.function.language.gnuplot"},7:{name:"punctuation.definition.parameters.end.gnuplot"}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",name:"meta.function.gnuplot",patterns:[{include:"#Expression"}]},InterpolatedStringLiteral:{begin:"(`)",beginCaptures:{1:{name:"punctuation.definition.string.begin.gnuplot"}},end:"((`)|(?=(?<!\\\\)\\n$))",endCaptures:{0:{name:"punctuation.definition.string.end.gnuplot"}},name:"string.interpolated.gnuplot",patterns:[{include:"#EscapedChar"}]},InvalidVariableDecl:{match:"\\b(GPVAL_\\w*|MOUSE_\\w*)\\b",name:"invalid.illegal.variable.gnuplot"},InvalidWord:{match:"([^;#\\\\[:space:]]+)",name:"invalid.illegal.gnuplot"},LineComment:{begin:"(#)",beginCaptures:{1:{name:"punctuation.definition.comment.begin.gnuplot"}},end:"(?=(?<!\\\\)\\n$)",endCaptures:{0:{name:"punctuation.definition.comment.end.gnuplot"}},name:"comment.line.number-sign.gnuplot"},Literal:{patterns:[{include:"#NumberLiteral"},{include:"#DeprecatedScriptArgsLiteral"},{include:"#SingleQuotedStringLiteral"},{include:"#DoubleQuotedStringLiteral"},{include:"#InterpolatedStringLiteral"}]},MacroExpansion:{begin:"([@][A-Za-z_]\\w*)",beginCaptures:{1:{patterns:[{include:"#SpecialVariable"}]}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{include:"#Expression"}]},NumberLiteral:{patterns:[{match:`(?x:

( ((\\b[0-9]+)|(?<!\\d)) )
( [.][0-9]+ )
( [Ee][+-]?[0-9]+ )?
)(cm|in)?\\b`,name:"constant.numeric.float.gnuplot"},{match:`(?x:

( \\b[0-9]+ )
(
(     ( [Ee][+-]?[0-9]+\\b )  ) |
( [.] ( [Ee][+-]?[0-9]+\\b )? )
)
)(cm\\b|in\\b)?`,name:"constant.numeric.float.gnuplot"},{match:"\\b(0[Xx][0-9a-fA-F]+)(cm|in)?\\b",name:"constant.numeric.hex.gnuplot"},{match:"\\b(0+)(cm|in)?\\b",name:"constant.numeric.dec.gnuplot"},{match:"\\b(0[0-7]+)(cm|in)?\\b",name:"constant.numeric.oct.gnuplot"},{match:"\\b(0[0-9]+)(cm|in)?\\b",name:"invalid.illegal.oct.gnuplot"},{match:"\\b([0-9]+)(cm|in)?\\b",name:"constant.numeric.dec.gnuplot"}]},PlotModifiers:{patterns:[{match:"\\b(thru)\\b",name:"invalid.deprecated.plot.gnuplot"},{match:`\\b(?x:
in(dex)?            |
every               |
us(ing)?            |
wi(th)?             |
via
)\\b`,name:"storage.type.plot.gnuplot"},{match:"\\b(newhist(ogram)?)\\b",name:"storage.type.plot.gnuplot"}]},RGBColorSpec:{match:"\\G(0x|#)(([0-9a-fA-F]{6})|([0-9a-fA-F]{8}))\\b",name:"constant.other.placeholder.gnuplot"},RangeSeparators:{patterns:[{match:"(\\[)",name:"punctuation.section.brackets.begin.gnuplot"},{match:"(:)",name:"punctuation.separator.range.gnuplot"},{match:"(\\])",name:"punctuation.section.brackets.end.gnuplot"}]},SetUnsetOptions:{patterns:[{match:`\\G\\s*\\b(?x:
clabel              |
data                |
function            |
historysize         |
macros              |
ticslevel           |
ticscale            |
(style\\s+increment\\s+\\w+)
)\\b`,name:"invalid.deprecated.options.gnuplot"},{match:`\\G\\s*\\b(?x:
angles              |
arrow               |
autoscale           |
border              |
boxwidth            |
clip                |
cntr(label|param)   |
color(box|sequence)?|
contour             |
(dash|line)type     |
datafile            |
decimal(sign)?      |
dgrid3d             |
dummy               |
encoding            |
(error)?bars        |
fit                 |
fontpath            |
format              |
grid                |
hidden3d            |
history             |
(iso)?samples       |
jitter              |
key                 |
label               |
link                |
loadpath            |
locale              |
logscale            |
mapping             |
[lrtb]margin        |
margins             |
micro               |
minus(sign)?        |
mono(chrome)?       |
mouse               |
multiplot           |
nonlinear           |
object              |
offsets             |
origin              |
output              |
parametric          |
(p|r)axis           |
pm3d                |
palette             |
pointintervalbox    |
pointsize           |
polar               |
print               |
psdir               |
size                |
style               |
surface             |
table               |
terminal            |
termoption          |
theta               |
tics                |
timestamp           |
timefmt             |
title               |
view                |
xyplane             |
zero                |
(no)?(m)?(x|x2|y|y2|z|cb|r|t)tics  |
(x|x2|y|y2|z|cb)data               |
(x|x2|y|y2|z|cb|r)label            |
(x|x2|y|y2|z|cb)dtics              |
(x|x2|y|y2|z|cb)mtics              |
(x|x2|y|y2|z|cb|[rtuv])range       |
(x|x2|y|y2|z)?zeroaxis
)\\b`,name:"support.class.options.gnuplot"}]},ShellCommand:{begin:"(!)",beginCaptures:{1:{name:"keyword.other.shell.gnuplot"}},end:"(?=(#|\\\\(?!\\n)|(?<!\\\\)\\n$))",patterns:[{match:"([^#]|\\\\(?=\\n))",name:"string.unquoted"}]},SingleQuotedStringLiteral:{begin:"(')",beginCaptures:{1:{name:"punctuation.definition.string.begin.gnuplot"}},end:"((')(?!')|(?=(?<!\\\\)\\n$))",endCaptures:{0:{name:"punctuation.definition.string.end.gnuplot"}},name:"string.quoted.single.gnuplot",patterns:[{include:"#RGBColorSpec"},{match:"('')",name:"constant.character.escape.gnuplot"}]},SpecialVariable:{patterns:[{captures:{1:{name:"constant.language.wildcard.gnuplot"}},match:"(?<=[\\[:=])\\s*(\\*)\\s*(?=[:\\]])"},{captures:{2:{name:"punctuation.definition.variable.gnuplot"}},match:"(([@$])[A-Za-z_]\\w*)\\b",name:"constant.language.special.gnuplot"}]},SummationExpr:{begin:"\\b(sum)\\s*(\\[)",beginCaptures:{1:{name:"keyword.other.sum.gnuplot"},2:{patterns:[{include:"#RangeSeparators"}]}},end:"((\\])|(?=(#|\\\\(?!\\n)|(?<!\\\\)\\n$)))",endCaptures:{2:{patterns:[{include:"#RangeSeparators"}]}},patterns:[{include:"#Expression"},{include:"#RangeSeparators"}]},TernaryExpr:{begin:"(?<!\\?)(\\?)(?!\\?)",beginCaptures:{1:{name:"keyword.operator.ternary.gnuplot"}},end:"((?<!:)(:)(?!:)|(?=(#|\\\\(?!\\n)|(?<!\\\\)\\n$)))",endCaptures:{2:{name:"keyword.operator.ternary.gnuplot"}},patterns:[{include:"#Expression"}]},VariableDecl:{begin:`\\b(?x:
([A-Za-z_]\\w*)\\s*
(?:
(\\[)\\s*
(.*)\\s*
(\\])\\s*
)?
(?=(=)(?!\\s*=))
)`,beginCaptures:{1:{name:"entity.name.variable.gnuplot",patterns:[{include:"#InvalidVariableDecl"},{include:"#BuiltinVariable"}]},3:{patterns:[{include:"#Expression"}]}},end:"(?=(;|#|\\\\(?!\\n)|(?<!\\\\)\\n$))",name:"meta.variable.gnuplot",patterns:[{include:"#Expression"}]}},scopeName:"source.gnuplot"});var e=[n];export{e as default};
